﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Entity.Custom;

namespace BO.Custom
{
    public class StatusBusiness
    {
        public static List<StatusCode> GetShortListStatus(Boolean flagAll = true, Boolean flagDelete = false)
        {
            var lst = new List<StatusCode>();
            if (flagAll)
                lst.Add(new StatusCode { Id = -3, Value = "--- Tất cả ---" });
            
            lst.Add(new StatusCode { Id = 0, Value = "Khóa" });
            lst.Add(new StatusCode { Id = 1, Value = "Xuất bản" });
            if (flagDelete) // chỉ hiển thị ở trang chi tiết sản phẩm
                lst.Add(new StatusCode { Id = -1, Value = "Xóa tạm thời" });
            return lst;
        }

        public static List<StatusCode> GetShortListStatusForCustomer(Boolean flagAll = true)
        {
            var lst = new List<StatusCode>();
            if (flagAll)
                lst.Add(new StatusCode { Id = -3, Value = "--- Tất cả ---" });
            lst.Add(new StatusCode { Id = 0, Value = "Khóa" });
            lst.Add(new StatusCode { Id = 1, Value = "Kích hoạt" });
            return lst;
        }

        public static string GetShortStatusName(Int32 value)
        {
            switch (value)
            {
                case 0:
                    return "Khóa";
                case 1:
                    return "Kích hoạt";
                default:
                    return "";
            }
        }

        #region PRODUCT
        public static List<StatusCode> GetShortListStatusForProduct(Boolean flagAll = true, Boolean flagDelete = false)
        {
            var lst = new List<StatusCode>();
            if (flagAll)
                lst.Add(new StatusCode { Id = -3, Value = "--- Tất cả ---" });
            lst.Add(new StatusCode { Id = 0, Value = "Khóa" });
            lst.Add(new StatusCode { Id = 1, Value = "Xuất bản" });
            lst.Add(new StatusCode { Id = 2, Value = "Nhận Order" });
            lst.Add(new StatusCode { Id = 3, Value = "Hết hàng" });
            if (flagDelete) // chỉ hiển thị ở trang chi tiết sản phẩm
                lst.Add(new StatusCode { Id = -1, Value = "Xóa tạm thời" });
            return lst;
        }

        public static string GetShortStatusNameForProduct(Int32 value)
        {
            switch (value)
            {
                case 0:
                    return "Khóa";
                case 1:
                    return "Xuất bản";
                case 2:
                    return "Nhận Order";
                case 3:
                    return "Hết hàng";
                default:
                    return "";
            }
        }

        public static string GetStyleStatus(Int32 value)
        {
            switch (value)
            {
                case 0:
                    return "danger";
                case 1:
                    return "success";
                case 2:
                    return "info";
                case 3:
                    return "primary";
                default:
                    return "";
            }
        }
        #endregion
        

        
    }
}
